class Base1
{
public:
   virtual void f(){}
};

class Base2 : public virtual Base1
{
public:
   void f(){}
};

class Base3 : public virtual Base1
{
public:
   void f(){}
};

class Derived : public Base2, public Base3 {};  // line 19

int main()
{
   Derived d;
   d.f();
}

/* Compiler Output:
Error E2016 c:\uvsc\spring02\3370\ambiguous2.cpp 19: Ambiguous override of virtual base member 'Base1::f()': 'Base2::f()'
Error E2016 c:\uvsc\spring02\3370\ambiguous2.cpp 19: Ambiguous override of virtual base member 'Base1::f()': 'Base3::f()'
Error E2014 c:\uvsc\spring02\3370\ambiguous2.cpp 24: Member is ambiguous: 'Base2::f' and 'Base3::f' in function main()
*/

